/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.bs.Beans;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author Bone
 */
@Entity
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Produto.findAll", query = "SELECT p FROM Produto p")})
public class Produto implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(nullable = false)
    private Integer id;
    @Column(length = 14)
    private String gtin;
    @Column(name = "CODIGO_INTERNO", length = 60)
    private String codigoInterno;
    @Column(length = 8)
    private String ncm;
    @Column(length = 100)
    private String nome;
    @Lob
    @Column(length = 65535)
    private String descricao;
    @Column(name = "DESCRICAO_PDV", length = 30)
    private String descricaoPdv;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "VALOR_COMPRA", precision = 18, scale = 6)
    private BigDecimal valorCompra;
    @Column(name = "VALOR_VENDA", precision = 18, scale = 6)
    private BigDecimal valorVenda;
    @Column(name = "PRECO_VENDA_MINIMO", precision = 18, scale = 6)
    private BigDecimal precoVendaMinimo;
    @Column(name = "PRECO_SUGERIDO", precision = 18, scale = 6)
    private BigDecimal precoSugerido;
    @Column(name = "CUSTO_MEDIO_LIQUIDO", precision = 18, scale = 6)
    private BigDecimal custoMedioLiquido;
    @Column(name = "PRECO_LUCRO_ZERO", precision = 18, scale = 6)
    private BigDecimal precoLucroZero;
    @Column(name = "PRECO_LUCRO_MINIMO", precision = 18, scale = 6)
    private BigDecimal precoLucroMinimo;
    @Column(name = "PRECO_LUCRO_MAXIMO", precision = 18, scale = 6)
    private BigDecimal precoLucroMaximo;
    @Column(precision = 18, scale = 6)
    private BigDecimal markup;
    @Column(name = "QUANTIDADE_ESTOQUE", precision = 18, scale = 6)
    private BigDecimal quantidadeEstoque;
    @Column(name = "QUANTIDADE_ESTOQUE_ANTERIOR", precision = 18, scale = 6)
    private BigDecimal quantidadeEstoqueAnterior;
    @Column(name = "ESTOQUE_MINIMO", precision = 18, scale = 6)
    private BigDecimal estoqueMinimo;
    @Column(name = "ESTOQUE_MAXIMO", precision = 18, scale = 6)
    private BigDecimal estoqueMaximo;
    @Column(name = "ESTOQUE_IDEAL", precision = 18, scale = 6)
    private BigDecimal estoqueIdeal;
    private Character excluido;
    private Character inativo;
    @Column(name = "DATA_CADASTRO")
    @Temporal(TemporalType.DATE)
    private Date dataCadastro;
    @Lob
    @Column(name = "FOTO_PRODUTO", length = 65535)
    private String fotoProduto;
    @Column(name = "EX_TIPI", length = 3)
    private String exTipi;
    @Column(name = "CODIGO_LST", length = 4)
    private String codigoLst;
    @Column(name = "CLASSE_ABC")
    private Character classeAbc;
    private Character iat;
    private Character ippt;
    @Column(name = "TIPO_ITEM_SPED", length = 2)
    private String tipoItemSped;
    @Column(precision = 18, scale = 6)
    private BigDecimal peso;
    @Column(name = "PORCENTO_COMISSAO", precision = 18, scale = 6)
    private BigDecimal porcentoComissao;
    @Column(name = "PONTO_PEDIDO", precision = 18, scale = 6)
    private BigDecimal pontoPedido;
    @Column(name = "LOTE_ECONOMICO_COMPRA", precision = 18, scale = 6)
    private BigDecimal loteEconomicoCompra;
    @Column(name = "TAXA_IPI", precision = 18, scale = 6)
    private BigDecimal taxaIpi;
    @Column(name = "TAXA_ISSQN", precision = 18, scale = 6)
    private BigDecimal taxaIssqn;
    @Column(name = "TAXA_PIS", precision = 18, scale = 6)
    private BigDecimal taxaPis;
    @Column(name = "TAXA_COFINS", precision = 18, scale = 6)
    private BigDecimal taxaCofins;
    @Column(name = "TAXA_ICMS", precision = 18, scale = 6)
    private BigDecimal taxaIcms;
    @Column(name = "TOTALIZADOR_PARCIAL", length = 10)
    private String totalizadorParcial;
    @Column(name = "ECF_ICMS_ST", length = 4)
    private String ecfIcmsSt;
    @Column(name = "CODIGO_BALANCA")
    private Integer codigoBalanca;
    @Column(name = "PAF_P_ST")
    private Character pafPSt;
    @Column(name = "DATA_ALTERACAO")
    @Temporal(TemporalType.DATE)
    private Date dataAlteracao;
    @Temporal(TemporalType.DATE)
    private Date validade;
    private Character tipo;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<CodigoProdutoAdicional> codigoProdutoAdicionalList;
    @OneToMany(mappedBy = "idProduto")
    private List<NfeDetalhe> nfeDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<TabelaPrecoProduto> tabelaPrecoProdutoList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<RequisicaoInternaDetalhe> requisicaoInternaDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<OrcamentoPedidoVendaDet> orcamentoPedidoVendaDetList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<EmpresaProduto> empresaProdutoList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<CompraCotacaoDetalhe> compraCotacaoDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<PreVendaDetalhe> preVendaDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<DavDetalhe> davDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<VendaDetalhe> vendaDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<EstoqueGrade> estoqueGradeList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<HistoricoReajusteDetalhe> historicoReajusteDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<UnidadeConversao> unidadeConversaoList;
    @JoinColumn(name = "ID_ALMOXARIFADO", referencedColumnName = "ID")
    @ManyToOne
    private Almoxarifado idAlmoxarifado;
    @JoinColumn(name = "ID_GRUPO_TRIBUTARIO", referencedColumnName = "ID")
    @ManyToOne
    private TributGrupoTributario idGrupoTributario;
    @JoinColumn(name = "ID_MARCA_PRODUTO", referencedColumnName = "ID")
    @ManyToOne
    private MarcaProduto idMarcaProduto;
    @JoinColumn(name = "ID_SUB_GRUPO", referencedColumnName = "ID", nullable = false)
    @ManyToOne(optional = false)
    private SubGrupoProduto idSubGrupo;
    @JoinColumn(name = "ID_UNIDADE", referencedColumnName = "ID", nullable = false)
    @ManyToOne(optional = false)
    private UnidadeProduto idUnidade;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<FornecedorProduto> fornecedorProdutoList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<FichaTecnica> fichaTecnicaList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<LacreProdutoEntrada> lacreProdutoEntradaList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<CompraRequisicaoDetalhe> compraRequisicaoDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<ProdutoPromocao> produtoPromocaoList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<Estoque> estoqueList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<CompraPedidoDetalhe> compraPedidoDetalheList;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "idProduto")
    private List<ContagemEstoqueDetalhe> contagemEstoqueDetalheList;

    public Produto() {
    }

    public Produto(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getGtin() {
        return gtin;
    }

    public void setGtin(String gtin) {
        this.gtin = gtin;
    }

    public String getCodigoInterno() {
        return codigoInterno;
    }

    public void setCodigoInterno(String codigoInterno) {
        this.codigoInterno = codigoInterno;
    }

    public String getNcm() {
        return ncm;
    }

    public void setNcm(String ncm) {
        this.ncm = ncm;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public String getDescricaoPdv() {
        return descricaoPdv;
    }

    public void setDescricaoPdv(String descricaoPdv) {
        this.descricaoPdv = descricaoPdv;
    }

    public BigDecimal getValorCompra() {
        return valorCompra;
    }

    public void setValorCompra(BigDecimal valorCompra) {
        this.valorCompra = valorCompra;
    }

    public BigDecimal getValorVenda() {
        return valorVenda;
    }

    public void setValorVenda(BigDecimal valorVenda) {
        this.valorVenda = valorVenda;
    }

    public BigDecimal getPrecoVendaMinimo() {
        return precoVendaMinimo;
    }

    public void setPrecoVendaMinimo(BigDecimal precoVendaMinimo) {
        this.precoVendaMinimo = precoVendaMinimo;
    }

    public BigDecimal getPrecoSugerido() {
        return precoSugerido;
    }

    public void setPrecoSugerido(BigDecimal precoSugerido) {
        this.precoSugerido = precoSugerido;
    }

    public BigDecimal getCustoMedioLiquido() {
        return custoMedioLiquido;
    }

    public void setCustoMedioLiquido(BigDecimal custoMedioLiquido) {
        this.custoMedioLiquido = custoMedioLiquido;
    }

    public BigDecimal getPrecoLucroZero() {
        return precoLucroZero;
    }

    public void setPrecoLucroZero(BigDecimal precoLucroZero) {
        this.precoLucroZero = precoLucroZero;
    }

    public BigDecimal getPrecoLucroMinimo() {
        return precoLucroMinimo;
    }

    public void setPrecoLucroMinimo(BigDecimal precoLucroMinimo) {
        this.precoLucroMinimo = precoLucroMinimo;
    }

    public BigDecimal getPrecoLucroMaximo() {
        return precoLucroMaximo;
    }

    public void setPrecoLucroMaximo(BigDecimal precoLucroMaximo) {
        this.precoLucroMaximo = precoLucroMaximo;
    }

    public BigDecimal getMarkup() {
        return markup;
    }

    public void setMarkup(BigDecimal markup) {
        this.markup = markup;
    }

    public BigDecimal getQuantidadeEstoque() {
        return quantidadeEstoque;
    }

    public void setQuantidadeEstoque(BigDecimal quantidadeEstoque) {
        this.quantidadeEstoque = quantidadeEstoque;
    }

    public BigDecimal getQuantidadeEstoqueAnterior() {
        return quantidadeEstoqueAnterior;
    }

    public void setQuantidadeEstoqueAnterior(BigDecimal quantidadeEstoqueAnterior) {
        this.quantidadeEstoqueAnterior = quantidadeEstoqueAnterior;
    }

    public BigDecimal getEstoqueMinimo() {
        return estoqueMinimo;
    }

    public void setEstoqueMinimo(BigDecimal estoqueMinimo) {
        this.estoqueMinimo = estoqueMinimo;
    }

    public BigDecimal getEstoqueMaximo() {
        return estoqueMaximo;
    }

    public void setEstoqueMaximo(BigDecimal estoqueMaximo) {
        this.estoqueMaximo = estoqueMaximo;
    }

    public BigDecimal getEstoqueIdeal() {
        return estoqueIdeal;
    }

    public void setEstoqueIdeal(BigDecimal estoqueIdeal) {
        this.estoqueIdeal = estoqueIdeal;
    }

    public Character getExcluido() {
        return excluido;
    }

    public void setExcluido(Character excluido) {
        this.excluido = excluido;
    }

    public Character getInativo() {
        return inativo;
    }

    public void setInativo(Character inativo) {
        this.inativo = inativo;
    }

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }

    public String getFotoProduto() {
        return fotoProduto;
    }

    public void setFotoProduto(String fotoProduto) {
        this.fotoProduto = fotoProduto;
    }

    public String getExTipi() {
        return exTipi;
    }

    public void setExTipi(String exTipi) {
        this.exTipi = exTipi;
    }

    public String getCodigoLst() {
        return codigoLst;
    }

    public void setCodigoLst(String codigoLst) {
        this.codigoLst = codigoLst;
    }

    public Character getClasseAbc() {
        return classeAbc;
    }

    public void setClasseAbc(Character classeAbc) {
        this.classeAbc = classeAbc;
    }

    public Character getIat() {
        return iat;
    }

    public void setIat(Character iat) {
        this.iat = iat;
    }

    public Character getIppt() {
        return ippt;
    }

    public void setIppt(Character ippt) {
        this.ippt = ippt;
    }

    public String getTipoItemSped() {
        return tipoItemSped;
    }

    public void setTipoItemSped(String tipoItemSped) {
        this.tipoItemSped = tipoItemSped;
    }

    public BigDecimal getPeso() {
        return peso;
    }

    public void setPeso(BigDecimal peso) {
        this.peso = peso;
    }

    public BigDecimal getPorcentoComissao() {
        return porcentoComissao;
    }

    public void setPorcentoComissao(BigDecimal porcentoComissao) {
        this.porcentoComissao = porcentoComissao;
    }

    public BigDecimal getPontoPedido() {
        return pontoPedido;
    }

    public void setPontoPedido(BigDecimal pontoPedido) {
        this.pontoPedido = pontoPedido;
    }

    public BigDecimal getLoteEconomicoCompra() {
        return loteEconomicoCompra;
    }

    public void setLoteEconomicoCompra(BigDecimal loteEconomicoCompra) {
        this.loteEconomicoCompra = loteEconomicoCompra;
    }

    public BigDecimal getTaxaIpi() {
        return taxaIpi;
    }

    public void setTaxaIpi(BigDecimal taxaIpi) {
        this.taxaIpi = taxaIpi;
    }

    public BigDecimal getTaxaIssqn() {
        return taxaIssqn;
    }

    public void setTaxaIssqn(BigDecimal taxaIssqn) {
        this.taxaIssqn = taxaIssqn;
    }

    public BigDecimal getTaxaPis() {
        return taxaPis;
    }

    public void setTaxaPis(BigDecimal taxaPis) {
        this.taxaPis = taxaPis;
    }

    public BigDecimal getTaxaCofins() {
        return taxaCofins;
    }

    public void setTaxaCofins(BigDecimal taxaCofins) {
        this.taxaCofins = taxaCofins;
    }

    public BigDecimal getTaxaIcms() {
        return taxaIcms;
    }

    public void setTaxaIcms(BigDecimal taxaIcms) {
        this.taxaIcms = taxaIcms;
    }

    public String getTotalizadorParcial() {
        return totalizadorParcial;
    }

    public void setTotalizadorParcial(String totalizadorParcial) {
        this.totalizadorParcial = totalizadorParcial;
    }

    public String getEcfIcmsSt() {
        return ecfIcmsSt;
    }

    public void setEcfIcmsSt(String ecfIcmsSt) {
        this.ecfIcmsSt = ecfIcmsSt;
    }

    public Integer getCodigoBalanca() {
        return codigoBalanca;
    }

    public void setCodigoBalanca(Integer codigoBalanca) {
        this.codigoBalanca = codigoBalanca;
    }

    public Character getPafPSt() {
        return pafPSt;
    }

    public void setPafPSt(Character pafPSt) {
        this.pafPSt = pafPSt;
    }

    public Date getDataAlteracao() {
        return dataAlteracao;
    }

    public void setDataAlteracao(Date dataAlteracao) {
        this.dataAlteracao = dataAlteracao;
    }

    public Date getValidade() {
        return validade;
    }

    public void setValidade(Date validade) {
        this.validade = validade;
    }

    public Character getTipo() {
        return tipo;
    }

    public void setTipo(Character tipo) {
        this.tipo = tipo;
    }

    @XmlTransient
    public List<CodigoProdutoAdicional> getCodigoProdutoAdicionalList() {
        return codigoProdutoAdicionalList;
    }

    public void setCodigoProdutoAdicionalList(List<CodigoProdutoAdicional> codigoProdutoAdicionalList) {
        this.codigoProdutoAdicionalList = codigoProdutoAdicionalList;
    }

    @XmlTransient
    public List<NfeDetalhe> getNfeDetalheList() {
        return nfeDetalheList;
    }

    public void setNfeDetalheList(List<NfeDetalhe> nfeDetalheList) {
        this.nfeDetalheList = nfeDetalheList;
    }

    @XmlTransient
    public List<TabelaPrecoProduto> getTabelaPrecoProdutoList() {
        return tabelaPrecoProdutoList;
    }

    public void setTabelaPrecoProdutoList(List<TabelaPrecoProduto> tabelaPrecoProdutoList) {
        this.tabelaPrecoProdutoList = tabelaPrecoProdutoList;
    }

    @XmlTransient
    public List<RequisicaoInternaDetalhe> getRequisicaoInternaDetalheList() {
        return requisicaoInternaDetalheList;
    }

    public void setRequisicaoInternaDetalheList(List<RequisicaoInternaDetalhe> requisicaoInternaDetalheList) {
        this.requisicaoInternaDetalheList = requisicaoInternaDetalheList;
    }

    @XmlTransient
    public List<OrcamentoPedidoVendaDet> getOrcamentoPedidoVendaDetList() {
        return orcamentoPedidoVendaDetList;
    }

    public void setOrcamentoPedidoVendaDetList(List<OrcamentoPedidoVendaDet> orcamentoPedidoVendaDetList) {
        this.orcamentoPedidoVendaDetList = orcamentoPedidoVendaDetList;
    }

    @XmlTransient
    public List<EmpresaProduto> getEmpresaProdutoList() {
        return empresaProdutoList;
    }

    public void setEmpresaProdutoList(List<EmpresaProduto> empresaProdutoList) {
        this.empresaProdutoList = empresaProdutoList;
    }

    @XmlTransient
    public List<CompraCotacaoDetalhe> getCompraCotacaoDetalheList() {
        return compraCotacaoDetalheList;
    }

    public void setCompraCotacaoDetalheList(List<CompraCotacaoDetalhe> compraCotacaoDetalheList) {
        this.compraCotacaoDetalheList = compraCotacaoDetalheList;
    }

    @XmlTransient
    public List<PreVendaDetalhe> getPreVendaDetalheList() {
        return preVendaDetalheList;
    }

    public void setPreVendaDetalheList(List<PreVendaDetalhe> preVendaDetalheList) {
        this.preVendaDetalheList = preVendaDetalheList;
    }

    @XmlTransient
    public List<DavDetalhe> getDavDetalheList() {
        return davDetalheList;
    }

    public void setDavDetalheList(List<DavDetalhe> davDetalheList) {
        this.davDetalheList = davDetalheList;
    }

    @XmlTransient
    public List<VendaDetalhe> getVendaDetalheList() {
        return vendaDetalheList;
    }

    public void setVendaDetalheList(List<VendaDetalhe> vendaDetalheList) {
        this.vendaDetalheList = vendaDetalheList;
    }

    @XmlTransient
    public List<EstoqueGrade> getEstoqueGradeList() {
        return estoqueGradeList;
    }

    public void setEstoqueGradeList(List<EstoqueGrade> estoqueGradeList) {
        this.estoqueGradeList = estoqueGradeList;
    }

    @XmlTransient
    public List<HistoricoReajusteDetalhe> getHistoricoReajusteDetalheList() {
        return historicoReajusteDetalheList;
    }

    public void setHistoricoReajusteDetalheList(List<HistoricoReajusteDetalhe> historicoReajusteDetalheList) {
        this.historicoReajusteDetalheList = historicoReajusteDetalheList;
    }

    @XmlTransient
    public List<UnidadeConversao> getUnidadeConversaoList() {
        return unidadeConversaoList;
    }

    public void setUnidadeConversaoList(List<UnidadeConversao> unidadeConversaoList) {
        this.unidadeConversaoList = unidadeConversaoList;
    }

    public Almoxarifado getIdAlmoxarifado() {
        return idAlmoxarifado;
    }

    public void setIdAlmoxarifado(Almoxarifado idAlmoxarifado) {
        this.idAlmoxarifado = idAlmoxarifado;
    }

    public TributGrupoTributario getIdGrupoTributario() {
        return idGrupoTributario;
    }

    public void setIdGrupoTributario(TributGrupoTributario idGrupoTributario) {
        this.idGrupoTributario = idGrupoTributario;
    }

    public MarcaProduto getIdMarcaProduto() {
        return idMarcaProduto;
    }

    public void setIdMarcaProduto(MarcaProduto idMarcaProduto) {
        this.idMarcaProduto = idMarcaProduto;
    }

    public SubGrupoProduto getIdSubGrupo() {
        return idSubGrupo;
    }

    public void setIdSubGrupo(SubGrupoProduto idSubGrupo) {
        this.idSubGrupo = idSubGrupo;
    }

    public UnidadeProduto getIdUnidade() {
        return idUnidade;
    }

    public void setIdUnidade(UnidadeProduto idUnidade) {
        this.idUnidade = idUnidade;
    }

    @XmlTransient
    public List<FornecedorProduto> getFornecedorProdutoList() {
        return fornecedorProdutoList;
    }

    public void setFornecedorProdutoList(List<FornecedorProduto> fornecedorProdutoList) {
        this.fornecedorProdutoList = fornecedorProdutoList;
    }

    @XmlTransient
    public List<FichaTecnica> getFichaTecnicaList() {
        return fichaTecnicaList;
    }

    public void setFichaTecnicaList(List<FichaTecnica> fichaTecnicaList) {
        this.fichaTecnicaList = fichaTecnicaList;
    }

    @XmlTransient
    public List<LacreProdutoEntrada> getLacreProdutoEntradaList() {
        return lacreProdutoEntradaList;
    }

    public void setLacreProdutoEntradaList(List<LacreProdutoEntrada> lacreProdutoEntradaList) {
        this.lacreProdutoEntradaList = lacreProdutoEntradaList;
    }

    @XmlTransient
    public List<CompraRequisicaoDetalhe> getCompraRequisicaoDetalheList() {
        return compraRequisicaoDetalheList;
    }

    public void setCompraRequisicaoDetalheList(List<CompraRequisicaoDetalhe> compraRequisicaoDetalheList) {
        this.compraRequisicaoDetalheList = compraRequisicaoDetalheList;
    }

    @XmlTransient
    public List<ProdutoPromocao> getProdutoPromocaoList() {
        return produtoPromocaoList;
    }

    public void setProdutoPromocaoList(List<ProdutoPromocao> produtoPromocaoList) {
        this.produtoPromocaoList = produtoPromocaoList;
    }

    @XmlTransient
    public List<Estoque> getEstoqueList() {
        return estoqueList;
    }

    public void setEstoqueList(List<Estoque> estoqueList) {
        this.estoqueList = estoqueList;
    }

    @XmlTransient
    public List<CompraPedidoDetalhe> getCompraPedidoDetalheList() {
        return compraPedidoDetalheList;
    }

    public void setCompraPedidoDetalheList(List<CompraPedidoDetalhe> compraPedidoDetalheList) {
        this.compraPedidoDetalheList = compraPedidoDetalheList;
    }

    @XmlTransient
    public List<ContagemEstoqueDetalhe> getContagemEstoqueDetalheList() {
        return contagemEstoqueDetalheList;
    }

    public void setContagemEstoqueDetalheList(List<ContagemEstoqueDetalhe> contagemEstoqueDetalheList) {
        this.contagemEstoqueDetalheList = contagemEstoqueDetalheList;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Produto)) {
            return false;
        }
        Produto other = (Produto) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.bs.Beans.Produto[ id=" + id + " ]";
    }
    
}
